ShowTable of Contents
Introduction
IBM Lotus Expeditor is a comprehensive runtime environment to enable the development, deployment, and execution of client-side applications that extend the Service-Oriented Architecture beyond the existing network boundaries.
Using Lotus Expeditor, you can empower your users with high-performing, secure, robust, rich user interface applications that can work even while on limited network connectivity. This can improve user productivity dramatically and, at the same time, reduce network traffic.
The primary component of the Lotus Expeditor product family is the Lotus Expeditor Client for Desktop. The component can be deployed to desktop, laptop, tablet, and visualized environments to host composite applications, Web applications, and more.
Lotus Expeditor Client for Desktop is designed to be a configurable and customizable platform that meets your specific deployment needs. The default installation of Lotus Expeditor includes a large number of features with many additional features installable from the product DVD. However, even the default installed set of components may be more than you need to meet your application requirements.
In this article, we describe how to customize the installation of the Desktop client to provide a minimal set of features for use in your applications. We used the Lotus Expeditor 6.2.2 Client for Desktop. If you are not already a Lotus Expeditor customer, you can download and use the Developer's Edition in conjunction with this article.
Attached to this article is a zip file that contains helper files and scripts needed to work along with this document. You should down and save that zip file, as it will be referred to in several locations through this document.
Minimal install
The Lotus Expeditor platform is a sophisticated environment offering a multitude of services. This comes at a price, however, in that the standard update site included with the Lotus Expeditor 6.2.2 installation is greater than 230MB.
In reality, only a small subset of these features is actually required to run the core expeditor base environment. Specifically, the core features required to run a basic Lotus Expeditor runtime are as follows:
com.ibm.rcp.accounts.feature
com.ibm.rcp.eclipse.platform.feature
com.ibm.rcp.eclipse.rcp.ui.feature
com.ibm.rcp.managedsettings.feature
com.ibm.rcp.net.feature
com.ibm.rcp.os.ui.feature
com.ibm.rcp.personality.default.branding.feature
com.ibm.rcp.personality.default.feature
com.ibm.rcp.personality.framework.feature
com.ibm.rcp.platform.feature
com.ibm.rcp.provisioning.ui.feature
com.ibm.rcp.security.feature
com.ibm.rcp.sharedbundle.ui.feature
com.ibm.rcp.ui.widgets.feature
org.apache.commons.feature
In addition, Lotus Expeditor normally installs its own IBM JavaTM Virtual Machine (JVM) as part of the installation. One of the ways in which the installation footprint can be reduced is by forcing the installation to use the existing JVM already present on the machine (IBM or Sun 1.6).
To build the minimal-footprint package, use these steps:
1. To start, create a new folder structure to act as our working directory for the exercise, for example, C:\XPD_Min_Install.
2. Inside that folder, create two subfolders called deploy and updateSite (see figure 1).
Figure 1. C:\XPD_Min_Install subfolders
3. There are three files that are required as part of the minimal-installation package that are located in the desktop folder on the Expeditor 6.2.2 DVD. Copy the first two files from this DVD into the folder you have just created (for example, C:\XPD_Min_Install\):
<XPD DVD Root>\desktop\Expeditor.msi
<XPD DVD Root>\desktop\Core.cab
And then copy this file into the deploy subfolder you created in step 2 (for example, C:\XPD_Min_Install\deploy):
<XPD DVD Root>\desktop\deploy\jvm.properties
4. Within the supporting files for this exercise, there is a folder called deploy, which contains some modified versions of the Lotus Expeditor installation package. Copy these files to the deploy directory you created in step 2:
C:\XPD_Min_Install\deploy\install.xml
C:\XPD_Min_Install\deploy\plugin_customization.ini
The install.xml file has been limited to target only the specific mandatory features required by the base Expeditor environment (see above for details of features to be installed). For more information, refer to the Product Documentation topic, “
Using the provisioning manifest: XPD622.”
5. Now that we have the base folder structure for the minimal-installation package, we need to include the mandatory features. To take the files we need, we must start with the complete update site and filter it. Use the updatesite.zip that comes on the Lotus Expeditor 6.2.2 DVD to source the features we require. It's located here:
<XPD DVD Root>\desktop\updateSite.zip.
6. Extract the contents of the file into a temporary folder, for example, C:\XPD_Temp (see figure 2).
NOTE: DO NOT EXTRACT THE ZIP FILE INTO THE FOLDER YOU ARE USING AS THE WORKING DIRECTORY FOR THE MINIMAL INSTALL.
Figure 2. xpd_temp folder
8. Now that we have an original set of features, we use a batch script to copy the appropriate features into the minimal-install directory structure. The batch script to automate this step is located in the root of the supporting files directory for this exercise. Copy the file called
XPD_Shrink.bat to the minimal-footprint working directory (see figure 3).
Figure 3. XPD_Shrink.bat file
9. Open a command prompt window in your minimal-install working directory (for example, C:\XPD_Min_Install).
10. Run the
XPD_shrink.bat script, specifying the location of the temporary directory to which you extracted the update site (see figure 4).
Figure 4. XPD_shrink.bat script
11. Now, we need to zip up the update site that has been produced into a file called
updateSite.zip residing in the same directory as
Expeditor.msi and
Core.cab (see figure 5).
Figure 5. updateSite.zip
12. Make sure to copy the updateSite.zip into the root of the minimal-footprint install directory, as shown in figure 6.
Figure 6. Copy updateSite.zip into root
Installing the minimal footprint client
To perform the install:
1. Open a command prompt window in the root of the minimal-footprint working directory. (NOTE: If you are working on Windows Vista or Windows7, you will need to start the command prompt with administrator privileges.)
2. Run the following line, to launch the installation and force the environment to use the existing installed JVM:
Expeditor.msi EXTERNAL_JVM_LOCATION=javaw.exe
NOTE: This command assumes javaw.exe is in your system path. Though this is recommended, it is not required. If java is not in your path, you can specify the absolute location of the executable (for example, c:\java\bin\javaw.exe).
Figure 7. Run the install command
3. This assumes javaw.exe is in your system PATH. It is recommended to place javaw.exe in your path so that updates can be located. If this is not an option, then set the absolute path to javaw.exe in the
EXTERNAL_JVM_LOCATION field.
4. Once the setup screen displays, follow the instructions to install the minimal-footprint environment.
When installation completes, you will have a minimal-installed version of Lotus Expeditor, and you can deploy your applications that are built using Standard Widget Toolkits (SWTs) or Web technologies.
Adding composite applications
One of the most-used features of Lotus Expeditor is the composite application capability. This section describes how to build and install the composite application features to your environment. Included with this article is the transformbuild_622_compApps.bat script. The batch file, similar to the XPD_shrink.bat script, builds an update site from the original product DVD that contains only the features that you need.
The required features for composite applications include the following:
com.ibm.portal.feature
com.ibm.pvc.servlet.feature
com.ibm.pvc.servlet.jsp.feature
com.ibm.pvc.webcontainer.feature
com.ibm.rcp.composite.container.feature
com.ibm.rcp.eclipse.emf.feature
com.ibm.rcp.portal.app.ui.feature
com.ibm.rcp.portal.catalog.ui.feature
com.ibm.rcp.portal.feature
com.ibm.rcp.portletcontainer.feature
com.ibm.rcp.propertybroker.feature
com.ibm.rcp.propertybroker.swt.feature
com.ibm.rcp.sync.feature
com.ibm.rcp.topologyhandler.ui.feature
org.apache.axis.feature
org.osgi.service.webapplication.feature
com.ibm.pvc.jndi.provider.java.feature
com.ibm.rcp.ui.browser.portal.feature
com.ibm.rcp.ui.browser.feature
com.ibm.rcp.browser.service.feature
com.ibm.rcp.dombrowser.feature
These features enable you to use the composite application framework and the local embedded browser for accessing Web applications.
To build an update site that contains only the composite application add-ons, copy the transformbuild_622_compApps.bat in the C:\XPD_Min_Install\ directory and run the file. The batch file creates an update site folder called compapps for which you then need to create a .zip file called XPD622CompApps.zip that we will reference later (instructions as per the previous exercise).
To install the features into the Expeditor minimal install, follow these steps:
1. Launch Lotus Expeditor, if it's not already launched.
2. To install the composite-application update site into the client, first select File – Application – Install (see figure 8).
Figure 8. Expeditor's File menu
3. Select the “Search for new features to install” option, and click Next (see figure 9).
Figure 9. Search for new features to install option
4. Click the Add Zip/Jar Location button (see figure 10).
Figure 10. Add Zip/Jar Location button
5. Navigate to the location of the XPD622CompApps.zip file, click the Open button, and then click OK (see figure 11).
Figure 11. Open the XPD622CompApps.zip file
6. Ensure that the entry is checked and then click Finish (see figure 12).
Figure 12. XPD622CompApps.zip file checked
7. Click the top-level entry, to specify that you want to install the entire update site; click Next (see figure 13).
Figure 13. Select the top-level entry
8. Select “I accept the terms in the license agreements,” and click Next (see figure 14).
Figure 14. Accept the license agreements
9. A window listing the features to be installed displays; click Finish (see figure 15).
Figure 15. Features that will be installed
10. Finally, you are prompted to restart the the Lotus Expeditor client; click the Restart Now button (see figure 16).
Figure 16. Restart Now button
Building your own custom installs
In addition to the options describe in this article, customers can build their own custom installs of Lotus Expeditor. In fact, Lotus Expeditor does not even need to have a visible user interface; rather, it can be installed as an embedded Web application server.
Applications can be accessed from the local Web container via your favorite browser (Firefox, Chrome, etc.). The key to customizing the installation is the provisioning manifest file. For more information on that, refer to the Product Documentation topic, “
Using the provisioning manifest: XPD622.” To minimize the download size of installable images, you can use the .bat files provided with this article as a model for building your own customized update sites.
Conclusion
You should now know how to build a minimal-footprint install of the Lotus Expeditor Client for Desktop. We have seen how an initial install can be customized and how additional components can be added via a customized update site.
Resources
Lotus Expeditor 6.2.2 Product Documentation:
http://www-10.lotus.com/ldd/lewiki.nsf/xpViewCategories.xsp?lookupName=Lotus%20Expeditor%206.2.2%20Documentation
developerWorks Lotus Expeditor product page:
http://www.ibm.com/developerworks/lotus/products/expeditor/
About the authors
Pierre Carlson is a Senior Software Engineer at IBM serving as the lead developer for the Lotus Expeditor Client and architect of the Lotus Expeditor Toolkit. He has worked with Eclipse technology and OSGi technology since before they worked with each other. Since joining IBM in 1998, he has worked on a variety of products including printers, operating systems, network appliances, Web applications, software development tools, devices, and desktop runtime environments. He has degrees in computer science from the University of Utah and Texas State University, and can be reached at
mpcarl@us.ibm.com.
Chris Freestone is a Solution Architect specializing in application development platforms such as XPages, Mashups, and Expeditor. He enables customers to benefit from IBM's Social Business Framework APIs, extending their platforms and solving business problems. Prior to joining IBM in 2006, he spent 10 years in the Lotus Business Partner community delivering customized Lotus Collaboration solutions. He holds a Software Engineering degree from Staffordshire University and can be reached at
chris.freestone@uk.ibm.com.